package org.vectrics.employee;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.vectrics.company.CompanyPerson;

import com.hexacta.hrs.domain.staffing.Departamento;

public class Employee extends CompanyPerson {
	
    private Long id;
	
	// Departamento al que corresponde el empleado.
	private Departamento departamento;
	
	// Devuelve true si se puede vender los servicios del empleado a otras empresas.
	public boolean esVendible()
	{
		return this.departamento.getVendible();
	}
	
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!getClass().isAssignableFrom(obj.getClass())) {
			return false;
		}
		Employee other = (Employee) obj;
		
		return new EqualsBuilder().append(this.getPerson(), other.getPerson()).append(this.getCompany(),
				other.getCompany()).isEquals();
	}

	/**
	 * GETTERS and SETTERS 
	 */
	
	public void setDepartamento(Departamento departamento) {
		this.departamento = departamento;
	}

	public Departamento getDepartamento() {
		return this.departamento;
	}

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
}
